#!usr/bin/env python
# -*- coding:utf-8 _*-
"""
@author:zhengxin
@file: 013_prime_factor.py
@time: 2024/12/16  15:42
# @describe:
"""


"""
    将一个正整数分解质因数。例如：输入90,打印出90=2*3*3*5
"""
import math

def prime_factor():
    num = int(input("输入一个整数："))
    arr = []
    while num > 1:
        # 使用开方减少计算量，因为大于sqrt(num)的因子必定和一个小于sqrt(num)的因子成对出现
        for i in range(2, int(math.sqrt(num)) + 1):
            if num % i == 0:
                arr.append(i)
                num = num // i   # 使用整除来更新num
                break   # 找到因子后退出循环，继续处理剩余的num
        else:
            # 如果没有在循环中找到因子，说明num本身就是一个质数
            arr.append(num)
            break
    print(arr)


prime_factor()
